#ifndef MULTI_TREE_H
#define MULTI_TREE_H

#pragma once
#include "file_class.h"
#include "show_followed_unit.h"

class MTree : public QEnableSharedFromThis<MTree>
{

private:
    FileInfo file;
    QSharedPointer<MTree> father;
    QSharedPointer<MTree> child;
    QSharedPointer<MTree> brother;
    QSharedPointer<MTree> lastchild;

public:
    MTree(FileInfo Data);
    ~MTree();

public:
    QSharedPointer<MTree> addChild(FileInfo newChild);
    void Accumulate();

public:
    FileInfo getFile();
    QSharedPointer<MTree> getChild();
    QSharedPointer<MTree> getBrother();
    QSharedPointer<MTree> getFather();
    QSharedPointer<MTree> getLastChild();
    int getNumOfChildFile();

};

QStringList GetInfoList(QSharedPointer<MTree> Node);

#endif // MULTI_TREE_H
